#ifndef _MD5_H_
#define _MD5_H_
#include <stdint.h>

typedef struct {
	uint32_t h0, h1, h2, h3;
	uint8_t buffer[64];
	uint64_t bitlen;
	uint32_t datalen;
} MD5_CTX;

void MD5_Init(MD5_CTX *ctx);
void MD5_Update(MD5_CTX *ctx, const uint8_t *data, uint32_t len);
void MD5_Final(uint8_t *digest, MD5_CTX *ctx);

#endif